package com.cskaoyan.service;

import com.cskaoyan.bean.data.GoodsDetailData;
import com.cskaoyan.bean.data.PageData;
import com.cskaoyan.bean.vo.GoodsSearchVo;
import com.cskaoyan.model.MarketGoods;
import com.cskaoyan.model.MarketGoodsAttribute;
import com.cskaoyan.model.MarketGoodsProduct;

import java.util.List;
import java.util.Map;

/**
 * @Author Pudding
 * @Date 2024/6/10 14:05
 */
public interface GoodsService {
    List<MarketGoods> goodsList(boolean isHot, boolean isNew, int page, int limit);

    List floorGoodsList(int categoryLimit, int categoryGoodsLimit);

    long count();

    GoodsDetailData detail(Integer id, int userId);

    List<MarketGoodsAttribute> getAttribute(Integer goodsId);

    List<MarketGoodsProduct> getProducts(Integer goodsId);

    List<Map> getSpecifications(Integer goodsId);

    MarketGoods findById(Integer goodsId);

    PageData findRelatedGoodsByCategoryId(Integer categoryId, int page, int limit);

    List<MarketGoods> list(Integer categoryId, int page, int limit);

    List<MarketGoods> searchGoodsList(GoodsSearchVo goodsSearchVo);

    List<MarketGoods> listByBrandId(GoodsSearchVo goodsSearchVo);

    List<MarketGoods> list(GoodsSearchVo goodsSearchVo);
}
